package com.ship.dispatch.bo.orderPay;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class SpFundManageDetailBo extends Page {
    /**
     * 页码
     */
    private Integer pageNum;

    /**
     * 每页条数
     */
    private Integer pageSize;
    private List<Long> ids;
    private Long id;
    /**
     * 公司名称
     */
    @ApiModelProperty(value = "公司名称")
    private String corporateName;

    /**
     * 导出时使用参数，选中的公司名称集合
     */
    @TableField(exist = false)
    private List<String> corporateNames;

    /**
     * 公司类型（1：第三方计量公司、2：船舶代理公司）
     */
    @ApiModelProperty(value = "公司类型（1：第三方计量公司、2：船舶代理公司）")
    private Integer corporateType;

    private String corporateTypeStr;

    /**
     * 关联合同id
     */
    @ApiModelProperty(value = "关联合同id")
    private Long contractId;

    /**
     * 关联合同名称
     */
    @ApiModelProperty(value = "关联合同名称")
    private String contractName;

    /**
     * 合同类型（1：船舶代理合同、2：保险合同（货险、人险）、3：第三方计量合同、4：租金相关合同--船运合同、5：加油合同）
     */
    @ApiModelProperty(value = "合同类型（1：船舶代理合同、2：保险合同（货险、人险）、3：第三方计量合同、4：租金相关合同--船运合同、5：加油合同）")
    private Integer contractType;

    /**
     * 关联合同地址
     */
    @ApiModelProperty(value = "关联合同地址")
    private String contractAddress;

    /**
     * 贸易主体(国贸、新贸)
     */
    @ApiModelProperty(value = "贸易主体(国贸、新贸)")
    private Integer tradeBody;

    private String tradeBodyStr;

    /**
     * 签订日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date signingDate;

    /**
     * 合同有效期（单位年）
     */
    @ApiModelProperty(value = "合同有效期（单位年）")
    private BigDecimal contractValidity;

    /**
     * 账户余额(更新)
     */
    @ApiModelProperty(value = "账户余额(更新)")
    private BigDecimal accountBalance;

    private String accountBalanceStr;

    /**
     * 订单数量
     */
    @ApiModelProperty(value = "订单数量")
    private Integer fundOrderNumber;

    /**
     * 账户余额(编辑后的余额，如果该字段有值，以后用户余额使用该字段值)
     */
    @ApiModelProperty(value = "账户余额(编辑后的余额，如果该字段有值，以后用户余额使用该字段值)")
    private BigDecimal accountEditBalance;

    /**
     * 初始账户余额
     */
    @ApiModelProperty(value = "初始账户余额")
    private BigDecimal accountInitialBalance;

    /**
     * 资金管理id
     */
    @ApiModelProperty(value = "资金管理id")
    private Long fundManageId;

    @ApiModelProperty(value = "最新支付时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date payDate;
}
